package com.onesports.intelligent.k12.polarlight.domain.dto.pay;

import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 微信支付请求对象
 */
@Data
@Builder
public class PayRequestDTO {

    /**
     * 微信用户ID
     */
    private String wxUserId;

    /**
     * 支付方式
     */
    TradeTypeEnum tradeType;
    /**
     * <pre>
     * 字段名：用户标识
     * 变量名：openid
     * 是否必填：是
     * 类型：string(128)
     * 描述：
     *  用户在直连商户appid下的唯一标识。 下单前需获取到用户的Openid。
     *  示例值：oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
     * </pre>
     */
    private String openid;

    /**
     * <pre>
     * 字段名：订单金额
     * 变量名：amount
     * 是否必填：是
     * 描述：
     *  订单金额信息
     * </pre>
     */
    private BigDecimal amount;

    /**
     * <pre>
     * 字段名：商品描述
     * 变量名：description
     * 是否必填：是
     * 类型：string（127）
     * 描述：
     *  商品描述
     *  示例值：Image形象店-深圳腾大-QQ公仔
     * </pre>
     */
    private String description;

    /**
     * 字段名：交易结束时间
     *      是否必填：否
     *      描述：
     *       订单失效时间
     */
    private Date timeExpire;

    /**
     * <pre>
     * 字段名：是否指定分账
     * 变量名：profit_sharing
     * 是否必填：否
     * 类型：bool
     * 描述：
     *  是否分账
     *  true：是
     *  false：否
     *  示例值：true
     * </pre>
     */
    private Boolean profitSharing;

//    /**
//     * 订单ID
//     */
//    private String marketOrderId;

//    /**
//     * 本系统生成的订单号
//     */
//    private String orderNo;

//    /**
//     * 结算配置ID
//     */
//    private String settlementConfigId;

}
